package com.jy.project.mapper;

import com.jy.project.domain.Material;
import com.jy.project.dto.ApplyDTO;
import com.jy.project.dto.ApplyUpdateDTO;
import com.jy.project.dto.ApplyUpdateReturnStockDTO;
import com.jy.project.dto.MaterialQueryDTO;
import com.jy.project.vo.MaterialVO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.additional.insert.InsertListMapper;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.entity.Example;

import java.util.List;

public interface MaterialMapper extends Mapper<Material>, InsertListMapper<Material> {


    List<MaterialVO> listMaterialVO(MaterialQueryDTO dto);


    MaterialVO getMaterialVO(String materialNo);


    /**
     * 修改使用状态
     * */
    int updateMaterialUseStatus(ApplyDTO applyDTO);


    List<MaterialVO>  listMaterialVOByMaterialNos(@Param("materialNos") String materialNos);

    int  updateStatusMaterialNos(@Param("materialNos") String materialNos,@Param("useStatus") Integer useStatus);


    int updateApplyUpdateCollectDTO(ApplyUpdateDTO applyUpdateDTO);

    /**
     * 退库方法
     * */
    int  updateRuturnStockApplyUpdateCollectDTO(ApplyUpdateReturnStockDTO applyUpdateDTO);

    default Integer  countByMaterialByAssetClass(String assetClassNo){
        Example example=new Example(Material.class);
        example.createCriteria().andLike("assetClassNo",assetClassNo+"%");
        List<Material> materials = selectByExample(example);
        return  materials.size();
    }


}